Day 17 문자열, 수학, 조건문, 배열, 사칙연산

Day17 17단계 20231106

1. 숫자 찾기

class Solution {
    public int solution(int num, int k) {
        int answer = -1;
        String strNum = String.valueOf(num);
        for(int i = 0; i < strNum.length(); i++) {
            if (strNum.charAt(i) -'0' == k) {
                answer = i+1;
                return answer;
            }
        }
        return answer;
    }
}
String strNum = String.valueOf(num);
String strK = String.valueOf(k);
int answer = strNum.indexOf(strK);
return (answer < 0) ? -1 : answer + 1; 
return ("-" + num).indexOf(String.valueOF(k));

2. n의 배수 고르기

import java.util.*;
class Solution {
    public int[] solution(int n, int[] numlist) {
        List<Integer> list = new ArrayList<>();
        for (int i : numlist) {
            if (i % n == 0) {
                list.add(i);
            }
        }
        return list.streamintValue).toArray(;
    }
}
return Array.stream(numlist).filter(i -> i % n ==0).toArray();

3. 자릿수 더하기

class Solution {
    public int solution(int n) {
        int answer = 0;
        int div = (int)Math.pow(10, (int)(Math.log10(n)));
        while (div > 0) {
            answer += n / div;
            n %= div;
            div /= 10;
            
        }
        return answer;
    }
}
answer = 0;
while (n > 0) {
	answer += n % 10; // 일의 자리 숫자를 더함
	n /= 10;
}
return answer;

4. OX퀴즈

import java.util.*;
class Solution {
    public String[] solution(String[] quiz) {
		String[] answer = new String[quiz.length];
		StringTokenizer st;
		
		for(int i = 0; i < quiz.length; i++) {
			quiz[i] = quiz[i].replace("+ ", "");
			quiz[i] = quiz[i].replace("- ", "-");
			quiz[i] = quiz[i].replace("= ", "");
			
			st = new StringTokenizer(quiz[i], " ");
			int a = Integer.parseInt(st.nextToken());
			int b = Integer.parseInt(st.nextToken().replace("--", ""));
			int c = Integer.parseInt(st.nextToken());
			
			if(a+b == c) {
				answer[i] = "O";
			} else {
				answer[i] = "X";
			}
		}
        return answer;
    }
}
String[] answer = new String[quiz.length];
for(int i = 0; i < quiz.length; i++) {
	String[] str = quiz[i].split(" ");
	int conv = Integer.parseInt(str[2]) * ((str[1].equals("+")) ? 1 : -1);
	answer[i] = (Integer.parseInt(str[0])+conv == Integer.parseInt(str[4])) ? "O" : "X";
}
return answer;